Distributed services are typically architected to return data to calling clients in a manner that is neutral to the programming languages that may be utilized to implement the calling clients. Configuring distributed services in this way enables the developers of the distributed services to concentrate on how the returned data is produced, rather than focusing on how the calling clients will consume the returned data.
In order for a service to return data that is neutral to the programming languages that might be utilized to implement calling clients, returned data is typically neutralized using an exchange format, such as the Extensible Markup Language (“XML”) and JAVASCRIPT Object Notation (“JSON”). The format conversion is an overhead often implemented in frameworks utilized to manage remote communication between clients and services. These frameworks may assist with the serialization and deserialization of data returned from a service to a client, and vice-versa.
The serialization of data into a neutral format typically involves serializing data objects into a neutral format so that the objects are implementation neutral. Deserialization typically involves converting the objects from the neutral format to a client native format. Serialization and de-serialization might also involve capturing and carrying associated metadata for conversion and casting so that the returned data can be rendered in a client native form for consumption by a calling client. These processes can, however, be very computationally expensive, especially when large amounts of data are serialized and deserialized.
It is with respect to these and other considerations that the disclosure made herein is presented.